package com.example.personal.aiagent.common.util;

import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

/**
 * 时间工具类
 */
public class TimeUtil {

    /**
     * 获得时间戳（秒）
     *
     * @return 时间戳（毫秒）
     */
    public static int getCurTimeMs() {
        return (int) (System.currentTimeMillis() / 1000L);
    }

    /**
     * 获得Ms格式化后字符串，使用系统时区
     *
     * @param timestamp 时间戳（秒）
     * @return Ms格式化后字符串，使用系统时区
     */
    public static String getTimeMsString(int timestamp) {
        // 将时间戳转换为 Instant 对象
        Instant instant = Instant.ofEpochSecond(timestamp);
        // 获取默认时区  
        ZoneId zone = ZoneId.systemDefault();
        // 定义日期时间格式  
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        // 将 Instant 对象转换为 LocalDateTime 对象，并格式化为字符串  
        return LocalDateTime.ofInstant(instant, zone).format(formatter);
    }
}
